﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ObviousCode.UI.Aspect.PluginLibrary.Interfaces;
using ObviousCode.Common.Utils.Library;
using System.Drawing;
using ObviousCode.Common.Utils;
using ObviousCode.Aspect.PluginLibrary.Event;

namespace ObviousCode.Aspect.PluginLibrary.Interfaces
{
    public enum AnchorPoints 
    { 
        None = 0,
        Center = 0,
        Left = 1, 
        Right = 2, 
        Top = 4, 
        Bottom = 8,
        TopLeft = Top + Left,
        TopRight = Top + Right,
        BottomLeft = Bottom + Left,
        BottomRight = Bottom + Right
    }

    public enum ArrowEndTypes { None, OpenArrow}

    public interface ISurfaceRelationship : ISelfRenderingChartObject
    {
        string InstanceKey { get; }
        IAspectRelationship Tag { get; set;  }        
        IUIRelationshipTheme Theme { get; set; }        

        event EventHandler<AspectObjectBoundsRequestEventArgs> SurfaceObjectPositionRequested;

        void Render(Graphics graphics);
    }
}
